package JET.recorder;

import JET.geom.Vec2d;
import JET.physics.Mass;
import JET.physics.bodies.SpringBody;
import java.util.Collection;

/**
 *
 * @author 057Ry
 */
public class BodyHelper
{
//    public static double getMass(SpringBody body) {
//        double mass = .0;
//        Collection<Mass> massCol = body.getMassListSync();
//        synchronized(massCol) {
//            for(Mass m : massCol)
//                mass += m.getMass();
//        }
//        return mass;
//    }
//
//    public Vec2d getGeomCenter(SpringBody body) {
//        Vec2d v = new Vec2d();
//        Collection<Mass> massCol = body.getMassListSync();
//        synchronized(massCol) {
//            for(Mass m : massCol)
//                v.add(m.getPosition());
//            v.scale(1./massCol.size());
//        }
//        return v;
//    }
//
//    public Vec2d getVelocity(SpringBody body) {
//        Vec2d v = new Vec2d();
//        Collection<Mass> massCol = body.getMassListSync();
//        synchronized(massCol) {
//            for(Mass m : massCol)
//                v.add(m.getVelocity());
//            v.scale(1./massCol.size());
//        }
//        return v;
//    }
//
//    public Vec2d getForce(SpringBody body) {
//        Vec2d v = new Vec2d();
//        Collection<Mass> massCol = body.getMassListSync();
//        synchronized(massCol) {
//            for(Mass m : massCol)
//                v.add(m.getForce());
//            v.scale(1./massCol.size());
//        }
//        return v;
//    }
//
//    public double getKineticEnergy(SpringBody sb)
//    {
//        return getMass(sb) * getVelocity(sb).getMagnitudeSquared() / 2.;
//    }
//
//    public double getPotentialEnergy(SpringBody sb, double g)
//    {
//        return getMass(sb) * g * getGeomCenter(sb).getY();
//    }
//
//    public double getPotentialEnergy(SpringBody sb, double g, double groundLevel)
//    {
//        return getMass(sb) * g * (getGeomCenter(sb).getY()-groundLevel);
//    }
}
